package com.aishua.fire.mapper;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Component;

import com.aishua.fire.entity.app.APPExerciseConclusionReqInfo;
import com.aishua.fire.entity.app.APPExerciseFeedBack_Detail;
import com.aishua.fire.entity.app.App_AddPlanRecordInfo;
import com.aishua.fire.entity.app.App_AddressBookInfo;
import com.aishua.fire.entity.app.App_CheckItemInfo;
import com.aishua.fire.entity.app.App_PlanRecordInfo;
import com.aishua.fire.entity.checkitem.CheckItemInfo;
import com.aishua.fire.entity.drillrecord.App_DrillRecordCatalogList;
import com.aishua.fire.entity.material.MaterialAddressList;
import com.aishua.fire.entity.material.MaterialDetailRecordInfo;
import com.aishua.fire.entity.material.MaterialDetailRecordInfoList;
import com.aishua.fire.entity.material.MaterialDetailsList;
import com.aishua.fire.entity.material.MaterialStandardList;

@Component
public interface AppOperationMapper {


	/**
	 * 插入APP拨号记录
	 * @param user_id
	 * @param phone
	 */
	void insertCallRecord(Map<String, String> pa);

	/**
	 * 查询APP拨号记录
	 * @param user_id
	 * @param phone
	 */
	List<App_AddressBookInfo> getCallRecord(String user_id);

	/**
	 * 查询APP拨号记录
	 * @param user_id
	 * @param phone
	 */
	int listTotal(String user_id);

	/**
	 * 根据通讯录ID，查询通讯录详情
	 */
	App_AddressBookInfo getAddressBookDetail(String add_id);

	/**
	 * 查询当前通讯录员工职责
	 * @param pa
	 * @return
	 */
	String getOrganizationByAddressBookId(Map<String, String> pa);

	/**
	 * APP_查询通讯录列表
	 * @param pp
	 * @param pageNumber
	 * @param pageSize
	 * @return
	 */
	List<App_AddressBookInfo> getAddressBookList(Map<String, String> pp);

	/**
	 * 查询APP拨号记录数量
	 * @param user_id
	 * @param phone
	 */
	int getAddressBookListTotal(Map<String, String> pp);

	/**
	 * 查询参数表
	 * @param parm
	 * @return
	 */
	String getparameterinfo(String parm);

	/**
	 * 插入扫码记录
	 * @param pa
	 */
	void insertSaoMaRecord(Map<String, String> pa);

	/**
	 * 查询当前巡检点下的所有巡检项目
	 * @param s_id
	 * @return
	 */
	List<CheckItemInfo> getCheckItemList(String s_id);

	/**
	 * 查询巡检点信息
	 * @param s_id
	 * @return
	 */
	App_PlanRecordInfo getCheckManagerPoint(String s_id);

    /**
     * APP_查询应急物资列表
     * @param user_id
     * @param m_name
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<MaterialDetailsList> materiallist(Map<String, String> pp);

    /**
     * APP_查询应急物资列表条数
     * @param user_id
     * @param m_name
     * @param pageNumber
     * @param pageSize
     * @return
     */
    int materiallistTotal(Map<String, String> pp);

    /**
     * APP_插入用户物资巡检记录
     */
    void insertMaterialRecord(MaterialDetailRecordInfo info);

    /**
     * 根据物资信息ID，查询物资信息对象中的数量
     * @param material_detail_id
     * @return
     */
    MaterialDetailsList getMaterialBean(String material_detail_id);

    /**
     * 修改物资数量
     * @param bean
     */
    void updateMaterialBean(MaterialDetailsList bean);

    /**
     * 补充巡检点巡检信息
     * @param addInfo
     */
    void updatePlanRecord(App_AddPlanRecordInfo addInfo);

    /**
     * 插入巡检项目 检查明细信息
     * @param info
     */
    void insertPlanRecordDetail(App_CheckItemInfo info);

    /**
     * app查询_物资管理-查询当前登录员工所有物资储存地点
     * @param pageNumber
     * @param pageSize
     * @param user_id
     * @return
     */
    List<MaterialAddressList> getMaterialAddressByApp(String user_id);

    /**
     * APP_查询用户物资巡检记录列表
     * @param user_id
     * @return
     */
    List<MaterialDetailRecordInfo> getMaterialRecordList(String user_id);
    
    /**
     * APP_查询用户物资巡检记录详情接口
     * @param id
     * @return
     */
    MaterialDetailRecordInfoList getMaterialRecordDetail(String recode_id);

    /**
     * 查询物资信息的检查标准
     * @param material_id
     * @return
     */
    List<MaterialStandardList> getMaterialStandardList(String material_id);

    /**
     * 根据演练类型 查询所有目录
     * @param type
     * @return
     */
    List<App_DrillRecordCatalogList> getCatalogList(String type);

    /**
     * 查询演练计划类型
     * @param id
     * @return
     */
    String getPlanType(String p_id);

    /**
     * 查询题目答案
     * @param pa
     * @return
     */
    String getExampleAnswer(Map<String, String> pa);

    /**
     * app查询_演练资料详情接口计划_查询预案演练总结
     * @param p_id
     * @return
     */
    APPExerciseConclusionReqInfo getConclusionReqInfo(String p_id);

    /**
     * 插入项目反馈明细
     * @param detail
     */
    void insertFeedBackDetail(APPExerciseFeedBack_Detail detail);

    /**
     * app查询_演练资料详情接口计划_查询预案演练反馈
     */
    List<APPExerciseFeedBack_Detail> getExist_feedback(String p_id);
}